# Author: 菅世博
# Date: 2025年02月20日16时01分10秒
# Email: 512326042@qq.com

class Tool:
    count = 0  # 类属性，用于统计工具对象的数量

    def __init__(self, name):
        self.name = name  # 实例属性，用于存储工具的名称
        Tool.count += 1  # 每创建一个工具对象，类属性 count 增加 1

    @classmethod
    def show_tool_count(cls):
        # 类方法，用于显示当前工具对象的总数量
        print("工具对象总数 %d" % cls.count)

    @staticmethod
    def help():
        # 静态方法，用于打印帮助文档，不需要实例化
        print("帮助文档")

if __name__ == '__main__':
    # 创建多个工具对象
    tool1 = Tool('斧头')  # 创建第一个工具对象
    tool2 = Tool('锤子')  # 创建第二个工具对象
    tool3 = Tool('螺丝刀')  # 创建第三个工具对象

    # 打印工具数量
    print(Tool.count)  # 显示当前工具对象的数量，应该是 3
    # tool3.count = 99  # 给 tool3 添加一个对象属性 count（被注释掉，因为这不是类属性）

    # 打印每个工具的名称
    print(tool1.name)  # 输出工具名称：斧头
    print(tool2.name)  # 输出工具名称：锤子
    print(tool3.name)  # 输出工具名称：螺丝刀
    # 打印工具数量
    # print("工具对象总数 %d" % tool3.count)  # 输出 tool3 的 count 属性（被注释掉）
    # print("===> %d" % Tool.count)  # 输出类属性 count（被注释掉）
    Tool.show_tool_count()  # 调用类方法显示工具对象的总数
    Tool.help()  # 调用静态方法打印帮助文档